﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using Sinacor.Infra.UI.Common;
using System.ComponentModel;

namespace Sinacor.UI.Bovespa.Ordens.Model
{
   public class Cliente: BaseModel
{
    #region Membros
    private System.Int32? _codigo;
    private System.Int32 _digitoVerificador;
    private System.String _apelido;
    private System.String _nome;
    private System.String _complementoNome;
    private System.Int32? _clienteContaInvestimento;
    private System.Int64? _cPFCNPJ;
    private System.String _cPFCNPJTexto;
    private System.DateTime _dataNascimentoFundacao;
    private System.String _dependencia;
    private System.String _codigoOperacionalCVM;
    private System.Boolean _isClienteQualificado;
    private System.String _origem;
    private System.String _assessor;
    private Model.DadosBancarios _bancoDividendo;
    private Model.DadosBancarios _bancoContaCorrente;
    private ModelCollection<Model.Telefone> _telefone;
    private List<System.Decimal> _limitesOperacionais;
    private Model.Enum.TipoTransmissaoOrdem? _transmissaoOrdem;
    private ModelCollection<Model.Endereco> _endereco;
    private Model.PosicaoContasCorrente _posicaoContasCorrente;
    private Model.PosicaoCustodia _posicaoCustodia;
    private System.Int32? _clienteBroker;
    private  Model.Enum.TipoSituacaoCliente? _situacao;
    private System.Boolean _isPessoaVinculada;
    private System.String _tipoBloqueio;
    private System.String _descricaoBloqueio;
    private System.Boolean _isBloqueado;
    private System.Int32? _codigoCarteira;
    private Model.Enum.TipoLiquidacao? _tipoLiquidacao;
    private System.Decimal? _percentualReducaoAcrescimo;
    private System.Int32? _codigoClienteInstitucional;
    private System.Decimal? _percentualTotal;
    private System.Boolean _isOperacaoCarteiraCliente;
    private System.Boolean _tipoFaxDefault;
    private System.Boolean _isClienteBroker;
    private System.Int32? _digitoClienteContaInvestimento;
    private System.Int32? _clienteContaDeposito;
    private System.Int32? _digitoClienteContaDeposito;
    private System.Boolean _isContaInvestimento;
    private bool _IsAdministradoCOncorrente;
	private string _NomeCompleto;
    #endregion

    #region Propriedades
    public System.Int32? Codigo
    {
    get{ return _codigo; }
    set{ _codigo = value; this.OnPropertyChanged("Codigo");}
    }
    public System.Int32 DigitoVerificador
    {
    get{ return _digitoVerificador; }
    set{ _digitoVerificador = value; this.OnPropertyChanged("DigitoVerificador");}
    }
    public System.String Apelido
    {
    get{ return _apelido; }
    set{ _apelido = value; this.OnPropertyChanged("Apelido");}
    }
    public System.String Nome
    {
    get{ return _nome; }
    set{ _nome = value; this.OnPropertyChanged("Nome");}
    }
    public System.String ComplementoNome
    {
    get{ return _complementoNome; }
    set{ _complementoNome = value; this.OnPropertyChanged("ComplementoNome");}
    }
    public System.Int32? ClienteContaInvestimento
    {
    get{ return _clienteContaInvestimento; }
    set{ _clienteContaInvestimento = value; this.OnPropertyChanged("ClienteContaInvestimento");}
    }
    public System.Int64? CPFCNPJ
    {
    get{ return _cPFCNPJ; }
    set{ _cPFCNPJ = value; this.OnPropertyChanged("CPFCNPJ");}
    }
    public System.String CPFCNPJTexto
    {
    get{ return _cPFCNPJTexto; }
    set{ _cPFCNPJTexto = value; this.OnPropertyChanged("CPFCNPJTexto");}
    }
    public System.DateTime DataNascimentoFundacao
    {
    get{ return _dataNascimentoFundacao; }
    set{ _dataNascimentoFundacao = value; this.OnPropertyChanged("DataNascimentoFundacao");}
    }
    public System.String Dependencia
    {
    get{ return _dependencia; }
    set{ _dependencia = value; this.OnPropertyChanged("Dependencia");}
    }
    public System.String CodigoOperacionalCVM
    {
    get{ return _codigoOperacionalCVM; }
    set{ _codigoOperacionalCVM = value; this.OnPropertyChanged("CodigoOperacionalCVM");}
    }
    public System.Boolean isClienteQualificado
    {
    get{ return _isClienteQualificado; }
    set{ _isClienteQualificado = value; this.OnPropertyChanged("isClienteQualificado");}
    }
    public System.String Origem
    {
    get{ return _origem; }
    set{ _origem = value; this.OnPropertyChanged("Origem");}
    }
    public System.String Assessor
    {
    get{ return _assessor; }
    set{ _assessor = value; this.OnPropertyChanged("Assessor");}
    }
    public DadosBancarios BancoDividendo
    {
    get{ return _bancoDividendo; }
    set{ _bancoDividendo = value; this.OnPropertyChanged("BancoDividendo");}
    }
    public DadosBancarios BancoContaCorrente
    {
    get{ return _bancoContaCorrente; }
    set{ _bancoContaCorrente = value; this.OnPropertyChanged("BancoContaCorrente");}
    }
    public ModelCollection<Telefone> Telefone
    {
    get{ return _telefone; }
    set{ _telefone = value; this.OnPropertyChanged("Telefone");}
    }
    public List<System.Decimal> LimitesOperacionais
    {
    get{ return _limitesOperacionais; }
    set{ _limitesOperacionais = value; this.OnPropertyChanged("LimitesOperacionais");}
    }
    public Model.Enum.TipoTransmissaoOrdem? TransmissaoOrdem
    {
    get{ return _transmissaoOrdem; }
    set{ _transmissaoOrdem = value; this.OnPropertyChanged("TransmissaoOrdem");}
    }
    public ModelCollection<Endereco> Endereco
    {
    get{ return _endereco; }
    set{ _endereco = value; this.OnPropertyChanged("Endereco");}
    }
    public PosicaoContasCorrente PosicaoContasCorrente
    {
    get{ return _posicaoContasCorrente; }
    set{ _posicaoContasCorrente = value; this.OnPropertyChanged("PosicaoContasCorrente");}
    }
    public  PosicaoCustodia PosicaoCustodia
    {
    get{ return _posicaoCustodia; }
    set{ _posicaoCustodia = value; this.OnPropertyChanged("PosicaoCustodia");}
    }
    public System.Int32? ClienteBroker
    {
    get{ return _clienteBroker; }
    set{ _clienteBroker = value; this.OnPropertyChanged("ClienteBroker");}
    }
    public  Model.Enum.TipoSituacaoCliente? Situacao
    {
    get{ return _situacao; }
    set{ _situacao = value; this.OnPropertyChanged("Situacao");}
    }
    public System.Boolean isPessoaVinculada
    {
    get{ return _isPessoaVinculada; }
    set{ _isPessoaVinculada = value; this.OnPropertyChanged("isPessoaVinculada");}
    }
    public System.String TipoBloqueio
    {
    get{ return _tipoBloqueio; }
    set{ _tipoBloqueio = value; this.OnPropertyChanged("TipoBloqueio");}
    }
    public System.String DescricaoBloqueio
    {
    get{ return _descricaoBloqueio; }
    set{ _descricaoBloqueio = value; this.OnPropertyChanged("DescricaoBloqueio");}
    }
    public System.Boolean isBloqueado
    {
    get{ return _isBloqueado; }
    set{ _isBloqueado = value; this.OnPropertyChanged("isBloqueado");}
    }
    public System.Int32? CodigoCarteira
    {
    get{ return _codigoCarteira; }
    set{ _codigoCarteira = value; this.OnPropertyChanged("CodigoCarteira");}
    }
    public Model.Enum.TipoLiquidacao? TipoLiquidacao
    {
    get{ return _tipoLiquidacao; }
    set{ _tipoLiquidacao = value; this.OnPropertyChanged("TipoLiquidacao");}
    }
    public System.Decimal? PercentualReducaoAcrescimo
    {
    get{ return _percentualReducaoAcrescimo; }
    set{ _percentualReducaoAcrescimo = value; this.OnPropertyChanged("PercentualReducaoAcrescimo");}
    }
    public System.Int32? CodigoClienteInstitucional
    {
    get{ return _codigoClienteInstitucional; }
    set{ _codigoClienteInstitucional = value; this.OnPropertyChanged("CodigoClienteInstitucional");}
    }
    public System.Decimal? PercentualTotal
    {
    get{ return _percentualTotal; }
    set{ _percentualTotal = value; this.OnPropertyChanged("PercentualTotal");}
    }
    public System.Boolean isOperacaoCarteiraCliente
    {
    get{ return _isOperacaoCarteiraCliente; }
    set{ _isOperacaoCarteiraCliente = value; this.OnPropertyChanged("isOperacaoCarteiraCliente");}
    }
    public System.Boolean TipoFaxDefault
    {
    get{ return _tipoFaxDefault; }
    set{ _tipoFaxDefault = value; this.OnPropertyChanged("TipoFaxDefault");}
    }
    public System.Boolean isClienteBroker
    {
    get{ return _isClienteBroker; }
    set{ _isClienteBroker = value; this.OnPropertyChanged("isClienteBroker");}
    }
    public System.Int32? DigitoClienteContaInvestimento
    {
    get{ return _digitoClienteContaInvestimento; }
    set{ _digitoClienteContaInvestimento = value; this.OnPropertyChanged("DigitoClienteContaInvestimento");}
    }
    public System.Int32? ClienteContaDeposito
    {
    get{ return _clienteContaDeposito; }
    set{ _clienteContaDeposito = value; this.OnPropertyChanged("ClienteContaDeposito");}
    }
    public System.Int32? DigitoClienteContaDeposito
    {
    get{ return _digitoClienteContaDeposito; }
    set{ _digitoClienteContaDeposito = value; this.OnPropertyChanged("DigitoClienteContaDeposito");}
    }
    public System.Boolean IsContaInvestimento
    {
    get{ return _isContaInvestimento; }
    set{ _isContaInvestimento = value; this.OnPropertyChanged("IsContaInvestimento");}
    }

	public bool IsAdministradoCOncorrente
	{
		get { return _IsAdministradoCOncorrente; }
		set { _IsAdministradoCOncorrente = value; this.OnPropertyChanged("IsAdministradoCOncorrente");}
	}
	
	public string NomeCompleto
	{
		get { return _NomeCompleto; }
		set { _NomeCompleto = value; this.OnPropertyChanged("NomeCompleto");}
	}
    #endregion

}
}